The present invention relates generally to the processing and routing of messages and information in a computer network. In particular, various embodiments relate to dynamic processing and/or routing of messages using a service-oriented architecture.
As computer networks become evermore complex, and are further extended to include functionality for wireless and mobile devices, there is an increasing need to orchestrate interaction between the capabilities of the various components across the network. A network architecture such as IMS (IP Multimedia Subsystem), for example, can be used for networks where mobile capabilities are needed. IMS is an IP-based architecture that utilizes protocols such as SIP (Session Initiation Protocol) to provide necessary support for mobile deployment. SIP is a signaling protocol typically used for mobile applications and services such as messaging, presence detection and reporting, and telephony. SIP can be used to connect the mobile device or other client with the appropriate network server(s).
Recently the Service Capability Interaction Manager (SCIM) was introduced (by the Third Generation Partnership Project, or “3GPP”) as a functional architecture for the provision of services in IMS as a function within an SIP application server domain of the IMS architecture, and was subsequently endorsed by many other IMS activities in other industry forums. A SCIM typically is used to orchestrate the delivery of services among application server platforms in the IMS architecture. A SCIM component can be programmed or configured to dictate the sequence of services used to process a event such as an incoming SIP call, such as may be needed to bar or forward the call, or associate to other processing of the call.
The original specification of the SCIM functionality (e.g., in 3GPP R6) is essentially a preview of the kind of functionality a SCIM can provide without any real detail. As IMS networks proliferate, and capabilities on IMS networks proliferate, the challenge of managing the composition and orchestration of core capabilities becomes increasingly important. Solving this challenge is at the heart of the SCIM functionality.
Currently, many vendors are attempting to design and incorporate complex mechanisms to provide SCIM as a specific network function. These SCIM solutions basically fall into one of three general approaches. In one such approach, SCIM is implemented using an S-CSCF (Serving Call Session Control Function) component that is defined as part of the IMS. The S-CSCF component functions like an extended edge proxy server of the IMS, such that when an incoming SIP message is received, the message is routed directly to the appropriate application based on the message and the relevant SCIM information.
In a second approach, SCIM is built as a separate network component that performs this functionality. An S-CSCF is still used according to the IMS model and plays the role of an edge proxy server, but in this approach the S-CSCF component receives the incoming SIP message and systematically passes the message to the SCIM component. The SCIM component then examines the relevant SCIM information and sends the message to the appropriate application for processing.
A third approach utilizes a dedicated SIP application server, wherein an S-CSCF component receiving a message passes the message directly to the SIP application server. The SIP application server contains the logic or instructions necessary to determine the appropriate application or servlet to process the message and can route or process the message as needed.
There are limitations to such approaches, however, as these approaches are all implemented substantially at the network level or session level. There is only a certain amount of information available at the network or session level, which results in limitations on the functionality that can be provided.